package com.jrx.anytxn.transaction.service;

import com.jrx.anytxn.common.exception.TxnException;
import com.jrx.anytxn.transaction.bean.TransferBean;

/**
 * @program: anytxn-cf-transaction
 * @description: 转列策略接口
 * @author: xiaoyu.jing
 * @date: 2019-11-15 12:48
 **/
public interface ITransferMethodStrategy {

    /**
     * 账户外转列处理 会计状态升级，转非应计，五级分类升级
     *
     * @param transferBean
     * @return
     * @throws TxnException
     */
    TransferBean transferOut(TransferBean transferBean);


    /**
     * 账户内转列处理 会计状态降级，转应计，五级分类降级
     *
     * @param transferBean
     * @return
     * @throws TxnException
     */
    TransferBean transferIn(TransferBean transferBean);

}
